package com.dragon.modules.yuegou.entity.order;

import com.baomidou.mybatisplus.annotation.TableName;
import com.dragon.modules.yuegou.enums.order.OrderShippingStatus;
import com.dragon.modules.yuegou.enums.order.OrderShippingType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 订单配送实体类<br>
 * 对应的表为：ord_order_shipping<br>
 * 
 * @author pbuilder generated
 * @date 2020-03-26 15:08:00
 * @company sgy
 * @version 2.0
 */
@TableName("ord_order_shipping")
@ApiModel(description = "订单配送")
public class OrderShippingEntity {

    /** 订单号 */
	@ApiModelProperty("订单号")
	protected String orderNo;

    /** 收货人全称 */
	@ApiModelProperty("收货人全称")
	protected String receiverName;

    /** 收货人手机号 */
	@ApiModelProperty("收货人手机号")
	protected String receiverMobile;

    /** 省份 */
	@ApiModelProperty("省份")
	protected String receiverProvince;

    /** 城市 */
	@ApiModelProperty("城市")
	protected String receiverCity;

    /** 区/县 */
	@ApiModelProperty("区/县")
	protected String receiverDistrict;

    /** 详细地址 */
	@ApiModelProperty("详细地址")
	protected String receiverAddress;

    /** 邮政编码 */
	@ApiModelProperty("邮政编码")
	protected String receiverZip;

    /** 城市Code */
	@ApiModelProperty("城市Code")
	protected String cityCode;

    /** 备注 */
	@ApiModelProperty("备注")
	protected String remark;

    /** 创建时间 */
	@ApiModelProperty("创建时间")
	protected LocalDateTime createdTime;

    /** 更新人ID */
	@ApiModelProperty("更新人ID")
	protected String modifiedBy;

    /** 更新时间 */
	@ApiModelProperty("更新时间")
	protected LocalDateTime modifiedTime;

    /** 发货人 */
	@ApiModelProperty("发货人")
	protected Long shippingBy;

    /** 发货时间 */
	@ApiModelProperty("发货时间")
	protected LocalDateTime shippingTime;

    /** 运费 */
	@ApiModelProperty("运费")
	protected BigDecimal freight;

    /** [枚举]配送类型：0-自主配送-AUTONOMY、1-达达配送-DADA */
	@ApiModelProperty("[枚举]配送类型：0-自主配送-AUTONOMY、1-达达配送-DADA")
	protected OrderShippingType type;

    /** [枚举]配送状态：0-未发货-NO_DELIVER、1-已发货未接单-DELIVER、2-已接单-ORDER、3-已取货-PICK_UP、4-已送达-DELIVERY、5-已收货-GOODS、6-骑手拒单-REFUSE */
	@ApiModelProperty("[枚举]配送状态：0-未发货-NO_DELIVER、1-已发货未接单-DELIVER、2-已接单-ORDER、3-已取货-PICK_UP、4-已送达-DELIVERY、5-已收货-GOODS、6-骑手拒单-REFUSE")
	protected OrderShippingStatus status;

    /** 原因 */
	@ApiModelProperty("原因")
	protected String cause;

    /** 骑手姓名 */
	@ApiModelProperty("骑手姓名")
	protected String transporterName;

    /** 骑手电话 */
	@ApiModelProperty("骑手电话")
	protected String transporterPhone;

	/**
	 * 构造一个空订单配送实体对象
	 */
	public OrderShippingEntity(){
		super();
	}

	/**
	 * 依据其它对象的信息构造一个订单配送实体对象
	 * 
	 * @param other 其它对象
	 */
	public OrderShippingEntity(OrderShippingEntity other){
		super();
     	this.orderNo = other.orderNo;
     	this.receiverName = other.receiverName;
     	this.receiverMobile = other.receiverMobile;
     	this.receiverProvince = other.receiverProvince;
     	this.receiverCity = other.receiverCity;
     	this.receiverDistrict = other.receiverDistrict;
     	this.receiverAddress = other.receiverAddress;
     	this.receiverZip = other.receiverZip;
     	this.cityCode = other.cityCode;
     	this.remark = other.remark;
     	this.createdTime = other.createdTime;
     	this.modifiedBy = other.modifiedBy;
     	this.modifiedTime = other.modifiedTime;
     	this.shippingBy = other.shippingBy;
     	this.shippingTime = other.shippingTime;
     	this.freight = other.freight;
     	this.type = other.type;
     	this.status = other.status;
     	this.cause = other.cause;
     	this.transporterName = other.transporterName;
     	this.transporterPhone = other.transporterPhone;
	}


	/**
	 * 获取订单号
	 * 
	 * @return orderNo 订单号
	 */
	public String getOrderNo() {
		return orderNo;
	}
  	
	/**
	 * 设置订单号
	 * 
	 * @param orderNo 订单号
	 */
	public void setOrderNo(String orderNo) {
		this.orderNo = orderNo;
	}

	/**
	 * 获取收货人全称
	 * 
	 * @return receiverName 收货人全称
	 */
	public String getReceiverName() {
		return receiverName;
	}
  	
	/**
	 * 设置收货人全称
	 * 
	 * @param receiverName 收货人全称
	 */
	public void setReceiverName(String receiverName) {
		this.receiverName = receiverName;
	}

	/**
	 * 获取收货人手机号
	 * 
	 * @return receiverMobile 收货人手机号
	 */
	public String getReceiverMobile() {
		return receiverMobile;
	}
  	
	/**
	 * 设置收货人手机号
	 * 
	 * @param receiverMobile 收货人手机号
	 */
	public void setReceiverMobile(String receiverMobile) {
		this.receiverMobile = receiverMobile;
	}

	/**
	 * 获取省份
	 * 
	 * @return receiverProvince 省份
	 */
	public String getReceiverProvince() {
		return receiverProvince;
	}
  	
	/**
	 * 设置省份
	 * 
	 * @param receiverProvince 省份
	 */
	public void setReceiverProvince(String receiverProvince) {
		this.receiverProvince = receiverProvince;
	}

	/**
	 * 获取城市
	 * 
	 * @return receiverCity 城市
	 */
	public String getReceiverCity() {
		return receiverCity;
	}
  	
	/**
	 * 设置城市
	 * 
	 * @param receiverCity 城市
	 */
	public void setReceiverCity(String receiverCity) {
		this.receiverCity = receiverCity;
	}

	/**
	 * 获取区/县
	 * 
	 * @return receiverDistrict 区/县
	 */
	public String getReceiverDistrict() {
		return receiverDistrict;
	}
  	
	/**
	 * 设置区/县
	 * 
	 * @param receiverDistrict 区/县
	 */
	public void setReceiverDistrict(String receiverDistrict) {
		this.receiverDistrict = receiverDistrict;
	}

	/**
	 * 获取详细地址
	 * 
	 * @return receiverAddress 详细地址
	 */
	public String getReceiverAddress() {
		return receiverAddress;
	}
  	
	/**
	 * 设置详细地址
	 * 
	 * @param receiverAddress 详细地址
	 */
	public void setReceiverAddress(String receiverAddress) {
		this.receiverAddress = receiverAddress;
	}

	/**
	 * 获取邮政编码
	 * 
	 * @return receiverZip 邮政编码
	 */
	public String getReceiverZip() {
		return receiverZip;
	}
  	
	/**
	 * 设置邮政编码
	 * 
	 * @param receiverZip 邮政编码
	 */
	public void setReceiverZip(String receiverZip) {
		this.receiverZip = receiverZip;
	}

	/**
	 * 获取城市Code
	 * 
	 * @return cityCode 城市Code
	 */
	public String getCityCode() {
		return cityCode;
	}
  	
	/**
	 * 设置城市Code
	 * 
	 * @param cityCode 城市Code
	 */
	public void setCityCode(String cityCode) {
		this.cityCode = cityCode;
	}

	/**
	 * 获取备注
	 * 
	 * @return remark 备注
	 */
	public String getRemark() {
		return remark;
	}
  	
	/**
	 * 设置备注
	 * 
	 * @param remark 备注
	 */
	public void setRemark(String remark) {
		this.remark = remark;
	}

	/**
	 * 获取创建时间
	 * 
	 * @return createdTime 创建时间
	 */
	public LocalDateTime getCreatedTime() {
		return createdTime;
	}
  	
	/**
	 * 设置创建时间
	 * 
	 * @param createdTime 创建时间
	 */
	public void setCreatedTime(LocalDateTime createdTime) {
		this.createdTime = createdTime;
	}

	/**
	 * 获取更新人ID
	 * 
	 * @return modifiedBy 更新人ID
	 */
	public String getModifiedBy() {
		return modifiedBy;
	}
  	
	/**
	 * 设置更新人ID
	 * 
	 * @param modifiedBy 更新人ID
	 */
	public void setModifiedBy(String modifiedBy) {
		this.modifiedBy = modifiedBy;
	}

	/**
	 * 获取更新时间
	 * 
	 * @return modifiedTime 更新时间
	 */
	public LocalDateTime getModifiedTime() {
		return modifiedTime;
	}
  	
	/**
	 * 设置更新时间
	 * 
	 * @param modifiedTime 更新时间
	 */
	public void setModifiedTime(LocalDateTime modifiedTime) {
		this.modifiedTime = modifiedTime;
	}

	/**
	 * 获取发货人
	 * 
	 * @return shippingBy 发货人
	 */
	public Long getShippingBy() {
		return shippingBy;
	}
  	
	/**
	 * 设置发货人
	 * 
	 * @param shippingBy 发货人
	 */
	public void setShippingBy(Long shippingBy) {
		this.shippingBy = shippingBy;
	}

	/**
	 * 获取发货时间
	 * 
	 * @return shippingTime 发货时间
	 */
	public LocalDateTime getShippingTime() {
		return shippingTime;
	}
  	
	/**
	 * 设置发货时间
	 * 
	 * @param shippingTime 发货时间
	 */
	public void setShippingTime(LocalDateTime shippingTime) {
		this.shippingTime = shippingTime;
	}

	/**
	 * 获取运费
	 * 
	 * @return freight 运费
	 */
	public BigDecimal getFreight() {
		return freight;
	}
  	
	/**
	 * 设置运费
	 * 
	 * @param freight 运费
	 */
	public void setFreight(BigDecimal freight) {
		this.freight = freight;
	}

	/**
	 * 获取[枚举]配送类型：0-自主配送-AUTONOMY、1-达达配送-DADA
	 * 
	 * @return type [枚举]配送类型：0-自主配送-AUTONOMY、1-达达配送-DADA
	 */
	public OrderShippingType getType() {
		return type;
	}
  	
	/**
	 * 设置[枚举]配送类型：0-自主配送-AUTONOMY、1-达达配送-DADA
	 * 
	 * @param type [枚举]配送类型：0-自主配送-AUTONOMY、1-达达配送-DADA
	 */
	public void setType(OrderShippingType type) {
		this.type = type;
	}

	/**
	 * 获取[枚举]配送状态：0-未发货-NO_DELIVER、1-已发货未接单-DELIVER、2-已接单-ORDER、3-已取货-PICK_UP、4-已送达-DELIVERY、5-已收货-GOODS、6-骑手拒单-REFUSE
	 * 
	 * @return status [枚举]配送状态：0-未发货-NO_DELIVER、1-已发货未接单-DELIVER、2-已接单-ORDER、3-已取货-PICK_UP、4-已送达-DELIVERY、5-已收货-GOODS、6-骑手拒单-REFUSE
	 */
	public OrderShippingStatus getStatus() {
		return status;
	}
  	
	/**
	 * 设置[枚举]配送状态：0-未发货-NO_DELIVER、1-已发货未接单-DELIVER、2-已接单-ORDER、3-已取货-PICK_UP、4-已送达-DELIVERY、5-已收货-GOODS、6-骑手拒单-REFUSE
	 * 
	 * @param status [枚举]配送状态：0-未发货-NO_DELIVER、1-已发货未接单-DELIVER、2-已接单-ORDER、3-已取货-PICK_UP、4-已送达-DELIVERY、5-已收货-GOODS、6-骑手拒单-REFUSE
	 */
	public void setStatus(OrderShippingStatus status) {
		this.status = status;
	}

	/**
	 * 获取原因
	 * 
	 * @return cause 原因
	 */
	public String getCause() {
		return cause;
	}
  	
	/**
	 * 设置原因
	 * 
	 * @param cause 原因
	 */
	public void setCause(String cause) {
		this.cause = cause;
	}

	/**
	 * 获取骑手姓名
	 * 
	 * @return transporterName 骑手姓名
	 */
	public String getTransporterName() {
		return transporterName;
	}
  	
	/**
	 * 设置骑手姓名
	 * 
	 * @param transporterName 骑手姓名
	 */
	public void setTransporterName(String transporterName) {
		this.transporterName = transporterName;
	}

	/**
	 * 获取骑手电话
	 * 
	 * @return transporterPhone 骑手电话
	 */
	public String getTransporterPhone() {
		return transporterPhone;
	}
  	
	/**
	 * 设置骑手电话
	 * 
	 * @param transporterPhone 骑手电话
	 */
	public void setTransporterPhone(String transporterPhone) {
		this.transporterPhone = transporterPhone;
	}

    public String toString() {
		return new StringBuilder().append("OrderShippingEntity{").
			append("orderNo=").append(orderNo).
			append(",receiverName=").append(receiverName).
			append(",receiverMobile=").append(receiverMobile).
			append(",receiverProvince=").append(receiverProvince).
			append(",receiverCity=").append(receiverCity).
			append(",receiverDistrict=").append(receiverDistrict).
			append(",receiverAddress=").append(receiverAddress).
			append(",receiverZip=").append(receiverZip).
			append(",cityCode=").append(cityCode).
			append(",remark=").append(remark).
			append(",createdTime=").append(createdTime).
			append(",modifiedBy=").append(modifiedBy).
			append(",modifiedTime=").append(modifiedTime).
			append(",shippingBy=").append(shippingBy).
			append(",shippingTime=").append(shippingTime).
			append(",freight=").append(freight).
			append(",type=").append(type).
			append(",status=").append(status).
			append(",cause=").append(cause).
			append(",transporterName=").append(transporterName).
			append(",transporterPhone=").append(transporterPhone).
			append('}').toString();
    }

	/**
	 * 复制对象
	 * 
	 * @return 复制后的新实体对象
	 */
	public OrderShippingEntity copy() {
		return new OrderShippingEntity(this);
	}

    /** 订单号 */
	public static final String COL_ORDER_NO = "order_no";

    /** 收货人全称 */
	public static final String COL_RECEIVER_NAME = "receiver_name";

    /** 收货人手机号 */
	public static final String COL_RECEIVER_MOBILE = "receiver_mobile";

    /** 省份 */
	public static final String COL_RECEIVER_PROVINCE = "receiver_province";

    /** 城市 */
	public static final String COL_RECEIVER_CITY = "receiver_city";

    /** 区/县 */
	public static final String COL_RECEIVER_DISTRICT = "receiver_district";

    /** 详细地址 */
	public static final String COL_RECEIVER_ADDRESS = "receiver_address";

    /** 邮政编码 */
	public static final String COL_RECEIVER_ZIP = "receiver_zip";

    /** 城市Code */
	public static final String COL_CITY_CODE = "city_code";

    /** 备注 */
	public static final String COL_REMARK = "remark";

    /** 创建时间 */
	public static final String COL_CREATED_TIME = "created_time";

    /** 更新人ID */
	public static final String COL_MODIFIED_BY = "modified_by";

    /** 更新时间 */
	public static final String COL_MODIFIED_TIME = "modified_time";

    /** 发货人 */
	public static final String COL_SHIPPING_BY = "shipping_by";

    /** 发货时间 */
	public static final String COL_SHIPPING_TIME = "shipping_time";

    /** 运费 */
	public static final String COL_FREIGHT = "freight";

    /** [枚举]配送类型：0-自主配送-AUTONOMY、1-达达配送-DADA */
	public static final String COL_TYPE = "type";

    /** [枚举]配送状态：0-未发货-NO_DELIVER、1-已发货未接单-DELIVER、2-已接单-ORDER、3-已取货-PICK_UP、4-已送达-DELIVERY、5-已收货-GOODS、6-骑手拒单-REFUSE */
	public static final String COL_STATUS = "status";

    /** 原因 */
	public static final String COL_CAUSE = "cause";

    /** 骑手姓名 */
	public static final String COL_TRANSPORTER_NAME = "transporter_name";

    /** 骑手电话 */
	public static final String COL_TRANSPORTER_PHONE = "transporter_phone";
}
